package com.ineatconseil.yougo.beans;

import com.ineatconseil.yougo.dto.RequestStatusDto;

/**
 * Represents a calendar day with output/formatting properties. <br>
 * This bean is use for render the "Validation list" page.
 * 
 * @author johanblo
 * 
 */
public class DayInformation {

	/**
	 * The day number.
	 */
	private int day;

	/**
	 * The label.
	 */
	private String label;

	/**
	 * Indicate if the day is working.
	 */
	private boolean workingDay;

	/**
	 * Indicate if the day is in relation with a vacation request.
	 */
	private boolean requestDay;

	/**
	 * Indicate if the day is the last day of a request (to put the appropriate action link).
	 */
	private boolean actionPossible;

	/**
	 * The request Id link to this day.
	 */
	private Long requestId;

	/**
	 * The user Id link to this day.
	 */
	private Long userId;

	/**
	 * The status link to this day.
	 */
	private RequestStatusDto status;

	/**
	 * Default constructor from superclass.
	 * 
	 * @param label
	 *            The day label ('Lun', 'Mar', 'Mer', ...).
	 * @param day
	 *            The number of the day.
	 * @param workingDay
	 *            If the day is working.
	 */
	public DayInformation(String label, int day, boolean workingDay) {
		super();
		this.label = label;
		this.day = day;
		this.workingDay = workingDay;
	}

	public String getLabel() {
		return label;
	}

	public void setLabel(String label) {
		this.label = label;
	}

	public boolean isWorkingDay() {
		return this.workingDay;
	}

	public int getDay() {
		return day;
	}

	public void setDay(int day) {
		this.day = day;
	}

	public void setWorkingDay(boolean workingDay) {
		this.workingDay = workingDay;
	}

	public boolean isRequestDay() {
		return requestDay;
	}

	public void setRequestDay(boolean requestDay) {
		this.requestDay = requestDay;
	}

	public Long getRequestId() {
		return requestId;
	}

	public void setRequestId(Long requestId) {
		this.requestId = requestId;
	}

	public Long getUserId() {
		return userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public RequestStatusDto getStatus() {
		return status;
	}

	public void setStatus(RequestStatusDto status) {
		this.status = status;
	}

	public boolean isActionPossible() {
		return actionPossible;
	}

	public void setActionPossible(boolean actionPossible) {
		this.actionPossible = actionPossible;
	}

}
